// 4.3 获取并处理城市列表数据
// 当前定位城市数据


// 在 utils 目录中，新建 city.js，在该文件中封装
// 创建并导出获取定位城市的函数getCurrentCity
// 判断 localStorage 中是否有定位城市
// 如果没有，就使用首页中获取定位城市的代码来获取，并且存储到本地存储中，然后返回该城市数据
// 如果有，直接返回本地存储中的城市数据



// 第一种解决方法
/**
 * import axios from 'axios'


 let getCurCity = ( callback) => {

    var myCity = new window.BMapGL.LocalCity();

    myCity.get(
        
        
        async res => {
        console.log("当前定位城市:", res.name);

        let cityName = res.name
        let url = `http://e.ludir.cn:8081/area/info?name=${cityName}`
        let result = await axios.get(url)
        let  curCity=result.data.body.label

        callback(curCity)


    })

}

getCurCity((data)=>{
    console.log(data)
})




 * 
 * 
 * 
 * 
 */

// 第二种解决方案     采用 promise  
// 判断 localStorage 中是否有定位城市
// 如果没有，就使用首页中获取定位城市的代码来获取，并且存储到本地存储中，然后返回该城市数据
// 如果有，直接返回本地存储中的城市数据




import axios from 'axios'


 export let getCurCity = () => {
    let curCity = localStorage.getItem('curCity')
   

    if (!curCity) {  // 如果没有
        // 如果没有，就使用首页中获取定位城市的代码来获取，并且存储到本地存储中，然后返回该城市数据
        return new Promise((resolve, reject) => {


            //百度地图api 
            var myCity = new window.BMapGL.LocalCity();

            myCity.get(async res => {
                console.log("当前定位城市:", res.name);

                let cityName = res.name



                try {
                    let url = `http://e.ludir.cn:8081/area/info?name=${cityName}`
                    let result = await axios.get(url)
                    let curCity = result.data.body.label


                    console.log('本地缓没有')
                    //存储数据到本地 
                    localStorage.setItem('curCity', curCity)
                    //返回该城市的数据
                    resolve(curCity)



                } catch (error) {
                    reject(error)

                }


            })




        })



    } else {
        // 表示有  表示本地缓存里面有
        // 直接返回出去 

        console.log('本地缓存有')

        return Promise.resolve(curCity)



    }















}




// getCurCity().then(res => {
//     console.log('获取城市选择', res)
// })


// export {
//     getCurCity
// }